This clause provides rules for identifying conforming generators and interpreters of ISO/IEC 14772 along with specifications as to the minimum level of complexity which must be supported.
The primary objectives of these rules are:
This clause provides conformance criteria for metafiles, metafile generators, and metafile interpreters.
This clause addresses the VRML data stream and implementation requirements. Implementation requirements address the latitude allowed by VRML generators and interpreters. This clause does not directly address the environmental, performance, or resource requirements of the generator or interpreter.
This clause does not define the application requirements or dictate application functional content within a VRML file.
The scope of this clause is limited to rules for the open interchange of VRML content.
Conformance of metafiles to ISO/IEC 14772 is defined in terms of the functionality and form specified in Part 1. In order to conform to ISO/IEC 14772, a metafile shall be a syntactically correct metafile.
A metafile is a syntactically correct version of ISO/IEC 14772 if the following conditions are met:
Conformance of metafile generators is defined in terms of conformance to the functionality defined in ISO/IEC 14772-1. A metafile generator which conforms to ISO/IEC 14772 shall:
Conformance of metafile interpreters is defined in terms of the functionality in ISO/IEC 14772. A metafile interpreter which conforms to ISO/IEC 14772 shall:
There is no minimum complexity which must be supported by a conforming VRML generator except that the file must contain the required VRML header. Any compliant set of nodes may be generated of arbitrary complexity.
This subclause defines the minimum complexity which must be supported by a VRML interpreter. Interpreter implementations may choose to support greater limits but may not reduce the limits described in Table 7-1. When the metafile being interpreted contains nodes which exceed the latitude implemented by the interpreter, the interpreter will attempt to skip that node and continue at the next node. Where latitude is specified in this table for a particular node, full support is required for other aspects of that node.
Node |
Minimum support |
All groups | At least 512 children. Ignore bboxCenter and bboxSize |
All interpolators | At least first 256 key-value pairs interpreted |
All lights | At least 8 simultaneous lights. |
All strings | At least 255 characters per string |
All URL fields | At least 16 URL's per field |
Transformation stack | At least 32 levels in the transformation stack |
Anchor | Ignore parameters. Ignore description |
Appearance | Full support |
AudioClip | Ignore description. At least 30 seconds duration. Wavefile in uncompressed PCM format |
Background | Full support |
Billboard | Full support except as for all groups |
Box | Full support |
Collision | Full support except as for all groups |
Color | Full support |
ColorInterpolator | Full support except as for all interpolators |
Cone | Full support |
Coordinate | At least first 16384 coordinates per coordinate node supported with indices to others ignored |
CoordinateInterpolator | Full support except as for all interpolators |
Cylinder | Full support |
CylinderSensor | Full support except as for all interpolators |
DirectionalLight | Global application of light source |
ElevationGrid | At least 16384 heights per grid |
Extrusion | At least 64 joints per extrusion. At least 1024 vertices in cross-section. |
Fog | Full support |
FontStyle | If non-Latin characters, family can be ignored. |
Group | Full support except as for all groups |
ImageTexture | Point sampling. At least JPEG and PNG formats |
IndexedFaceSet | At least 1024 vertices per face. At least 1024 faces. Ignore ccw. Ignore convex. Ignore solid. |
IndexedLineSet | At least 1024 vertices per polyline At least 1024 polylines per set |
Inline | Full support except as for all groups |
LOD | At least first 4 level/range combinations shall be interpreted |
Material | Ignore ambient intensity Ignore specular colour Ignore emissive colour At least transparent and opaque with values less than 0.5 opaque |
MovieTexture | At least one simultaneously active movie texture At least MPEG1-Systems and MPEG1-Video |
NavigationInfo | Ignore avatarSize Ignore types other than "WALK", "FLY", "EXAMINE", and "NONE" Ignore visibilityLimit |
Normal | At least first 16384 normals per normal node supported with indices to others ignored |
NormalInterpolator | Full support except as for all interpolators |
OrientationInterpolator | Full support except as for all interpolators |
PixelTexture | At least 256256 image size |
PlaneSensor | Full support |
PointLight | Full support |
PointSet | At least 4096 points per point set |
PositionInterpolator | Full support except as for all interpolators |
ProximitySensor | Full support |
ScalarInterpolator | Full support except as for all interpolators |
Script | At least 32 eventIns At least 32 fields At least 32 eventOuts |
Shape | Full support |
Sound | At least 3 simultaneously active sounds At least linear sound attenuation between inner and outer ellipsoids At least spatialization across the panorama being viewed At least 2 priorities |
Sphere | Full support |
SphereSensor | Full support |
SpotLight | Beam width can be ignored |
Switch | Full support except as for all groups |
Text | At least UTF-8 character encoding transformation format |
TextureCoordinate | At least first 16384 texture coordinates per texture coordinate node supported with indices to others ignored |
TextureTransform | Full support |
TimeSensor | Full support |
TouchSensor | Full support |
Transform | Full support except as for all groups |
Viewpoint | Ignore fieldOfView Ignore description |
VisibilitySensor | Full support |
WorldInfo | Full support |